package com.maimao.user.mapper.sys;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.maimao.model.user.sys.Role;
import com.maimao.model.user.sys.vo.RoleEx;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * @author MaoLin Wang
 * @date 2020/11/30 9:29 下午
 */
public interface RoleMapper extends BaseMapper<Role> {

    List<Role> selectSysRoleByUserId(@Param("userId") Long userId);
    List<Role> selectWebRoleByUserId(@Param("userId") Long userId);

    /**
     * 查询角色的所有资源id
     * @param roleId
     * @return
     */
    List<Integer>selectResourceIdsByRoleId(@Param("roleId")Integer roleId);
    /**
     * 多条件查询
     * @param status
     * @param key
     * @param sysRole
     * @return
     */
    List<RoleEx> selectByParams(@Param("status") Integer status,
                                @Param("key") String key,
                                @Param("sysRole") Integer sysRole);

    /**
     * 批量添加角色和资源的关联
     * @param id 角色id
     * @param resourceIds 资源id
     */
    int addRoleResourceRecord(@Param("roleId") Integer id,@Param("resourceIds") List<Integer> resourceIds);

    int deleteRecordBatch(Integer id);

    /**
     * 批量更新角色状态
     * @param ids 角色id列表
     * @param status 状态
     */
    void updateStatusBatch(@Param("ids") List<Integer> ids,@Param("status") Integer status);

    /**
     * 查询所以角色（包括已删除的）
     * @return
     */
    List<Role> selectLisAlltCus();


//    int add(Role role);
}
